pdf檔常需要浮水印來顯示文件的擁有者或版權,在JasperReports中也能夠輕鬆的為pdf檔加上浮水印。
除了常用的Title、Column Header、Detail之外,還有Background Band,新增在Background上的元素都會顯示在報表文件的背景,因此浮水印就很適合放在Background。
Image是一個可以將圖片嵌入到報表中的元素,常用在佈局logo、浮水印等圖片。
如果將圖片放在專案目錄中,以程式取得絕對路徑的話,就比較能避免更換環境就找不到圖片的狀況。
InputStream waterMarkPath = getClass().getResourceAsStream("/static/images/iconmonstr-school-20%.png");
Map<String, Object> parametersMap = new HashMap<>();
parametersMap.put("waterMarkPath", waterMarkPath);
為pdf加上浮水印當然不止這種方法,不過我覺得Image元素還算容易操作,直接在報表上調整圖片位置大小都滿直覺的。
下一篇會持續優化pdf,使用Jaspersoft Studio的Group功能為報表資料分組~